Envie : Chapitre 1

Echanges sur les figures

Auteur·rice
Affiliation

Arno Muller

Ined

Date de publication

Invalid Date

Figure 1.1

Description :

  • largeur : 139mm
  • hauteur : ~75mm

Données et codes

Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
               sheet = 7,
               rows = c(1:37),
               cols = c(1:4)) %>%
  mutate(Genre = factor(Genre,
                        levels = c("Femmes","Hommes","Personnes non binaires"),
                        labels = c("Femmes","Hommes","Personnes non binaires"))) 

Télécharger les données pour la figure :

Code
rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 10

titre <- ggplot() +
  geom_blank() +
  ylim(0,10) +
  xlim(-1,1) +
  geom_text(aes(x = 0, y = 4 , label = "Âges aux\npremier\nbaiser\net\npremière\npratique\nsexuelle"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  theme_void() +
  theme(panel.background = element_rect(fill = rouge,
                                        colour = rouge,
                                        linewidth = 0.5, linetype = "solid"))
titre


## Graphique 


p = ggplot(dt, aes(x=Age, group=Genre, color=Genre)) +

  geom_line(aes(y = Sexuel),
            size = 0.7,
            linetype = "solid") +
  geom_line(aes(y = Baiser),
            size = 0.7,
            linetype = "dashed",
            alpha = 0.7
            ) + 
  annotate("text", x = 14, y = 60, 
           label = "Premier baiser\navec la langue", 
           family = "Montserrat", size = 4)+
  annotate("text", x = 17, y = 20, 
           label = "Premier\nrapport", 
           family = "Montserrat", size = 4)+
  
  scale_color_manual(values = c(rouge,"black","grey")) +
  scale_x_continuous(limits=c(7,18), breaks = dt$Age) +
  scale_y_continuous(limits=c(0,100), 
                     breaks = seq(0,100,20), 
                     labels = paste0(seq(0,100,20),"%")) +
  theme_minimal() +
  theme(
    legend.position = c(0.3,0.8),
    legend.background = element_rect(colour = "white"),
    strip.text.y = element_blank(),
    axis.ticks.y = element_blank(),
    axis.ticks.x = element_blank(),
    panel.grid.minor.y=element_blank(),
    panel.grid.minor.x=element_blank(),
    panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
    panel.grid.major.y=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
    axis.text = element_text(size = 10, family = "Montserrat"),
    axis.title = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
    legend.text = element_text(size = 10, family = "Montserrat"),
    legend.title=element_blank(),
    legend.key.size = unit(0.5, 'cm')
  ) +
  labs(x = 'Âges',y = "") 

p

svg("images/Fig1_1/Fig1_1_V1.svg", width = width, height = 4)
ptitre <- grid.arrange(titre,p,ncol = 2, 
                       widths = c(unit(15, "npc"), unit(85, "npc")))

dev.off()

Graphiques

  • Echelle en Y

  • Orientation du texte

Figure 1.2

Description :

  • largeur : 139mm
  • hauteur : ~66mm

Données et codes

Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
               sheet = 2,
               rows = c(5:17),
               cols = c(2:4)) %>% 
  pivot_longer(c(2,3), names_to = "Genre", values_to = "Valeurs") %>% 
  mutate(Genre = factor(Genre,
                        levels = c("Femmes","Hommes"),
                        labels = c("Femmes","Hommes"))) 

Télécharger les données pour la figure :

Code
## PARAMETRES: 

rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 10

titre <- ggplot() +
  geom_blank() +
  ylim(0,10) +
  xlim(-1,1) +
  geom_text(aes(x = 0, y = 4 , label = "Âge médian\n au premier\nrapport"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  theme_void() +
  theme(panel.background = element_rect(fill = rouge,
                                        colour = rouge,
                                        linewidth = 0.5, linetype = "solid"))
titre


p = ggplot(dt,aes(x=Annee, y=Valeurs, color = Genre)) +
  
  geom_hline(
    aes(yintercept = 17.7), 
    color = "darkgrey",
    linewidth = 1 ,
    linetype = 2
  ) + 
  
  geom_line(aes(group=Annee), color="#E7E7E7", linewidth=2) + 
  geom_point(aes(color=Genre), size=3) +

  annotate("text", x = 1995, y = 17.75, 
           angle = 180+90,
           color = "darkgrey",
           label = "Âge médian général", 
           family = "Montserrat", size = 2.5)+
  
  scale_colour_manual(values = c(rouge,"black"),
                      guide = guide_legend(reverse = F) ) +
  
  scale_y_continuous(limits = c(17,19), breaks = seq(17,19,0.25),
                     labels = paste(seq(17,19,0.25),"")) + 
  scale_x_continuous(limits=c(1993,2004), breaks = dt$Annee) +
  
  coord_flip() +
  theme_minimal() +
  theme(
    legend.position=c(0.7, 0.25),
    legend.background = element_rect(colour = "white"),
    legend.title = element_blank(),
    legend.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
    panel.grid.minor.y=element_blank(),
    panel.grid.major.y=element_blank(),
    panel.grid.minor.x=element_blank(),
    panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.5,linetype = "dotted"),
    strip.text.y = element_blank(),
    axis.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
    axis.title.x = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
    axis.title.y = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.5)
  ) +
  xlab("Année de naissance\n")  +
  ylab("Âges médians") 
p

svg("images/Fig1_2/Fig1_2_V1.svg", width = width, height = 4)
ptitre <- grid.arrange(titre,p,ncol = 2, 
                       widths = c(unit(15, "npc"), unit(85, "npc")))

dev.off()

Graphiques

Figure 1.3

Description :

  • largeur : 120mm
  • hauteur : ~45mm

Données et codes

Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
               sheet = 3,
               rows = c(6:11),
               cols = c(2:4)) %>% 
  pivot_longer(c(2,3), names_to = "Genre", values_to = "Valeurs") %>% 
  mutate(
    Genre = str_replace_all(Genre, "\\."," "),
    Genre = factor(Genre,
                   levels = unique(Genre),
                   labels = c("Femme avec\nune femme", "Homme avec\nun homme")),
    Age = factor(Age,levels = unique(Age))) 

Télécharger les données pour la figure :

Code
rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 8

titre <- ggplot() +
  geom_blank() +
  ylim(0,10) +
  xlim(-1,1) +
  geom_text(aes(x = 0, y = 4 , label = "Premier\nbaiser\navec une\npersonne\nde même\nsexe"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  theme_void() +
  theme(panel.background = element_rect(fill = rouge,
                                        colour = rouge,
                                        linewidth = 0.5, linetype = "solid"))

p = ggplot(dt,aes(x=Age, y=Valeurs, color = Genre)) +
  geom_line(aes(group=Genre, color=Genre), linewidth=0.7, linetype="dotted") + 
  geom_point(aes(color=Genre), size=3) +
  
  scale_colour_manual(values = c(rouge,"black"),
                      guide = guide_legend(reverse = F) ) +
  
  scale_y_continuous(limits = c(0,10), breaks = seq(0,10,1),
                     labels = paste0(seq(0,10,1),"%")) + 
  theme_minimal() +
  theme(
    legend.position=c(0.45, 0.8),
    legend.background = element_rect(colour = "white"),
    legend.title = element_blank(),
    legend.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
    panel.grid.minor.y=element_blank(),
    panel.grid.major.y=element_blank(),
    panel.grid.minor.x=element_blank(),
    panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
    strip.text.y = element_blank(),
    axis.text = element_text(size = size_text, family = "Montserrat",colour = "black"),
    #axis.title.x = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
    axis.title.x = element_blank(),
    axis.title.y = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.5)
  ) +
  xlab("")  +
  ylab("") 
p

ptitre <- grid.arrange(titre,p,ncol = 2, 
                       widths = c(unit(15, "npc"), unit(85, "npc")))

svg("images/Fig1_3/Fig1_3_V1a.svg", width = width2, height = 2.5)
ptitre <- grid.arrange(titre,p,ncol = 2, 
                       widths = c(unit(15, "npc"), unit(85, "npc")))

dev.off()

Graphiques

Figure 1.4

Description :

  • largeur : 139mm
  • hauteur : ~88mm

Données et codes

Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
               sheet = 9,
               rows = c(1:14),
               cols = c(1:8)) %>% 
  pivot_longer(c(3:8), names_to = "Consent", values_to = "Valeurs") %>% 
  mutate(
    Consent = str_replace_all(Consent, "\\."," "),
    Genre = factor(Genre,levels = unique(Genre)),
    Consent = factor(Consent,levels = rev(unique(Consent))))

Télécharger les données pour la figure :

Code
## PARAMETRES: 

rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 8

titre <- ggplot() +
  geom_blank() +
  ylim(0,10) +
  xlim(-1,1) +
  geom_text(aes(x = 0, y = 4 , label = "Degré de\nconsentement\nau premier\nrapport"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  theme_void() +
  theme(panel.background = element_rect(fill = rouge,
                                        colour = rouge,
                                        linewidth = 0.5, linetype = "solid"))
titre

genre <- ggplot() +
  geom_blank() +
  ylim(0,10) +
  xlim(-1,1) +
  geom_text(aes(x = 0, y = 1.5 , label = "Personnes\nnon binaires"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  geom_text(aes(x = 0, y = 4.2 , label = "Hommes"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  geom_text(aes(x = 0, y = 8.2 , label = "Femmes"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  theme_void() +
  theme(panel.background = element_rect(fill = rouge,
                                        colour = rouge,
                                        size = 0.5, linetype = "solid"))
genre





p = ggplot(dt, aes(x = Age, y = Valeurs)) +
  geom_bar_pattern(
    aes(fill = Consent,
        pattern_fill = Consent,
        pattern_angle = Consent
    ),
    stat = "identity", 
    colour = "black", 
    pattern_size = NA,
    pattern_density = 0.7,
    pattern_spacing = ifelse(dt$Genre == "Personnes non binaires",0.02*length(levels(dt$Consent)),0.02),
    width = 0.5,
    linewidth = 0.25
  ) +
  
  facet_grid(Genre ~ ., scales = "free_y", space = "free_y", switch = "y") +
  coord_flip()+
  
  scale_fill_manual(values = rev(c(rouge,"white",rouge,"black","white","black")),
                    guide = guide_legend(reverse = T))  +
  scale_pattern_fill_manual(values = rev(c(rouge,rouge,"white","white","black","black")),
                            guide = guide_legend(reverse = T)) +
  
  #scale_pattern_angle_manual(values = c(135,135,135,45,45,45)) +
  scale_pattern_angle_manual(values = rev(c(135,135,135,45,45,45)),
                             guide = guide_legend(reverse = TRUE))  +
  
  scale_y_continuous(limits = c(0,100), breaks = seq(0,100,20),
                     labels = paste(seq(0,100,20),"%")) + 
  theme_minimal() +
  theme(
    #strip.text.y = element_text(size = 12, family = "Montserrat",colour = rouge, face = 2),
    #strip.placement = "outside",
    strip.text.y = element_blank(),
    axis.ticks.y = element_blank(),
    axis.ticks.x = element_blank(),
    panel.grid.minor.y=element_blank(),
    panel.grid.major.y=element_blank(),
    panel.grid.minor.x=element_blank(),
    panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.5,linetype = "dotted"),
    legend.position = "bottom",
    axis.text = element_text(size = size_text, family = "Montserrat"),
    legend.text = element_text(size = size_text, family = "Montserrat"),
    #legend.title=element_blank(),
    legend.title=element_text(size = 10, family = "Montserrat"),
    legend.key.size = unit(0.5, 'cm')
  ) +
  labs(x = "",y = "", pattern_fill = "") + 
  guides(
    fill = "none",
    pattern_angle = "none",
    pattern_fill  = guide_legend(
      reverse = TRUE,
      nrow = 2, 
      theme = theme(legend.byrow = TRUE),
      override.aes = list(
        pattern_spacing = 0.015,
        pattern_density = 0.8,
        fill = c(rouge,"white",rouge,"black","white","black"),
        pattern_fill = c(rouge,rouge,"white","white","black","black"),
        pattern_angle = c(135,135,135,45,45,45)
      ))) 

p

p_genre <- grid.arrange(genre,p,ncol = 2, 
                      widths = c(unit(15, "npc"), unit(85, "npc")))

Graphiques

Figure 1.5

Description :

  • largeur : 139mm
  • hauteur : ~40mm

Données et codes

Code
dt = read.xlsx("Data/Chapitre_1_AM.xlsx",
               sheet = 5,
               rows = c(10:28),
               cols = c(12:18)) %>% 
  fill(X1) %>% 
  rename(Genre = X1,
         Age = X2) %>% 
  pivot_longer(c(3:7), names_to = "Religion", values_to = "Valeurs") %>% 
  mutate(
    Religion = str_replace_all(Religion, "\\."," "),
    Genre = factor(Genre,levels = c("Femmes","Hommes")),
    Religion = factor(Religion,
                      levels = c("Pas de religion",
                                 "Catholique indifférent",
                                 "Catholique affirmé",
                                 "Musulman",
                                 "Autre religion"),
                      labels = c("Pas de religion",
                                 "Catholique\nindifférent·e",
                                 "Catholique\naffirmé·e",
                                 "Musulman·e",
                                 "Autre religion"))) %>% 
  arrange(Genre, Religion,Age)

dtH = filter(dt, Genre =="Hommes")
dtF = filter(dt, Genre !="Hommes")

Télécharger les données pour la figure :

Code
## PARAMETRES: 

rouge = "#ce1126"
width = 7.3 # = 139mm
width2 = 6.3 # = 139mm
height = 3 # = 96mm
size_text = 10

titre <- ggplot() +
  geom_blank() +
  ylim(0,10) +
  xlim(-1,1) +
  geom_text(aes(x = 0, y = 4 , label = "Âge au\npremier\nrapport"), color = "white", 
            size = 4, angle = 0, hjust = 0.5, vjust = 0, family = "Montserrat", fontface = 2) +  
  theme_void() +
  theme(panel.background = element_rect(fill = rouge,
                                        colour = rouge,
                                        linewidth = 0.5, linetype = "solid"))
titre





p = ggplot(dtH, 
            aes(x=Age, group=Religion, color=Religion)) +
  
  geom_hline(
    aes(yintercept = 50), 
    color = "#bfbfbf",
    linewidth = 0.7,
    linetype = 2
  ) + 
  annotate("text", x = 12, y = 52, 
           label = "Âges médians", 
           family = "Montserrat", 
           color = "darkgrey",
           size = 2.8) +
  
  geom_line(aes(y = Valeurs, linetype = Religion),
            linewidth = 0.5) +
  
  annotate("text", x = 14.5, y = 60, 
           label = "Hommes", 
           family = "Montserrat", 
           fontface = 2,
           color = rouge,
           size = 4.5) +
  
  scale_color_manual(values = c("black","black","#8a8a8a",rouge,rouge)) +
  scale_linetype_manual(values = c(1,3,5,1,2)) +
  
  scale_x_continuous(limits=c(11,18), breaks = dtH$Age) +
  scale_y_continuous(limits=c(0,65), 
                     breaks = seq(0,65,10), 
                     labels = paste0(seq(0,65,10),"%")) +
  theme_minimal() +
  theme(
    legend.position = "bottom",
    strip.text.y = element_blank(),
    axis.ticks.y = element_blank(),
    axis.ticks.x = element_blank(),
    panel.grid.minor.y=element_blank(),
    panel.grid.minor.x=element_blank(),
    panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
    panel.grid.major.y=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
    axis.text = element_text(size = 10, family = "Montserrat",colour = "black"),
    axis.title = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
    legend.text = element_text(size = 10, family = "Montserrat"),
    legend.title=element_blank(),
    legend.key.size = unit(0.5, 'cm'), 
    legend.box="vertical", 
    legend.margin=margin()
  ) +
  labs(x = 'Âges',y = "") + 
  guides(
    color = guide_legend(
      reverse = FALSE,
      nrow = 2, 
      theme = theme(legend.byrow = TRUE)),
    linetype= guide_legend(
      reverse = FALSE,
      nrow = 2, 
      theme = theme(legend.byrow = TRUE))) 
p


p_leg = get_legend(p)
p_leg = as_ggplot(p_leg) 
p_leg


# Homme
pH = p + theme(legend.position = "none")
pH


# Femme

pF = ggplot(dtF, 
           aes(x=Age, group=Religion, color=Religion)) +
  geom_hline(
    aes(yintercept = 50), 
    color = "#bfbfbf",
    linewidth = 0.7,
    linetype = 2
  ) + 
  annotate("text", x = 12, y = 52, 
           label = "Âges médians", 
           family = "Montserrat", 
           color = "darkgrey",
           size = 2.8) +
  
  geom_line(aes(y = Valeurs, linetype = Religion),
            linewidth = 0.5) +
  
  annotate("text", x = 14.5, y = 60, 
           label = "Femmes", 
           family = "Montserrat", 
           fontface = 2,
           color = rouge,
           size = 4.5) +
  
  scale_color_manual(values = c("black","black","#8a8a8a",rouge,rouge)) +
  scale_linetype_manual(values = c(1,3,5,1,2)) +
  
  scale_x_continuous(limits=c(11,18), breaks = dtF$Age) +
  scale_y_continuous(limits=c(0,65), 
                     breaks = seq(0,65,10), 
                     labels = paste0(seq(0,65,10),"%")) +
  theme_minimal() +
  theme(
    legend.position = "none",
    strip.text.y = element_blank(),
    axis.ticks.y = element_blank(),
    axis.ticks.x = element_blank(),
    panel.grid.minor.y=element_blank(),
    panel.grid.minor.x=element_blank(),
    panel.grid.major.x=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
    panel.grid.major.y=element_line(color = "lightgrey",linewidth = 0.25,linetype = "dotted"),
    axis.text = element_text(size = 10, family = "Montserrat",colour = "black"),
    axis.title = element_text(size = size_text, family = "Montserrat",colour = "black", hjust = 0.95),
    legend.text = element_text(size = 10, family = "Montserrat"),
    legend.title=element_blank(),
    legend.key.size = unit(0.5, 'cm')
  ) +
  labs(x = 'Âges',y = "") 

pF



p2 <- grid.arrange(pF,pH,ncol = 2, 
                   widths = c(unit(50, "npc"), unit(50, "npc")))

p3 <- grid.arrange(p2,p_leg,nrow = 2, 
                   heights = c(unit(90, "npc"), unit(10, "npc")))

ptitre <- grid.arrange(titre,p3,ncol = 2, 
                       widths = c(unit(15, "npc"), unit(85, "npc")))

svg("images/Fig1_5/Fig1_5_V1.svg", width = width, height = 5)
ptitre <- grid.arrange(titre,p3,ncol = 2, 
                       widths = c(unit(15, "npc"), unit(85, "npc")))
dev.off()

Graphiques

Figure 1.6

Données et codes

Télécharger les données pour la figure :

Graphiques